// lib/api/config.ts

/**
 * API 全局配置对象
 * @const
 * @type {Object}
 */
export const API_CONFIG = {
  /** API 基础URL，默认为本地开发环境地址 */
  baseUrl: process.env.NEXT_PUBLIC_API_BASE_URL || "http://localhost:8000",
  /** 请求超时时间（毫秒） */
  timeout: 10000,
  /** 默认请求头配置 */
  headers: {
    "Content-Type": "application/json",
  },
};

/**
 * API 版本前缀
 * @const
 * @type {string}
 */
export const API_VERSION = "/api/v1";

/**
 * API 端点配置对象
 * 包含所有可用的 API 端点路径
 * @const
 * @type {Object}
 */
export const API_ENDPOINTS = {
  /** 认证相关接口 */
  auth: {
    /** 用户注册 */
    register: `${API_VERSION}/auth/register`,
    /** 用户登录 */
    login: `${API_VERSION}/auth/login`,
    /** 用户登出 */
    logout: `${API_VERSION}/auth/logout`,
    /** 发送验证码 */
    sendVerificationCode: `${API_VERSION}/auth/send_verification_code`,
    /** 验证验证码 */
    verifyCode: `${API_VERSION}/auth/verify_code`,
    /** 重置密码 */
    resetPassword: `${API_VERSION}/auth/reset_password`,
    /** 刷新访问令牌 */
    refreshToken: `${API_VERSION}/auth/refresh`,
    /** 验证令牌有效性 */
    verifyToken: `${API_VERSION}/auth/verify_token`,
    /** 获取当前用户信息 */
    me: `${API_VERSION}/auth/me`,
    /** 修改密码 */
    changePassword: `${API_VERSION}/auth/change_password`,
  },
  /** 用户相关接口 */
  user: {
    profile: `${API_VERSION}/user/profile`,
    settings: `${API_VERSION}/user/settings`,
  },
  /** 工作空间相关接口 */
  workspace: {
    list: `${API_VERSION}/workspace/list`,
    create: `${API_VERSION}/workspace/create`,
    update: `${API_VERSION}/workspace/update`,
    delete: `${API_VERSION}/workspace/delete`,
  },
  /** LLM模型管理相关接口 */
  llmCreate: {
    /** 创建LLM模型 */
    create: `${API_VERSION}/llm-create/create`,
    /** 获取LLM模型列表 */
    listModels: `${API_VERSION}/llm-create/list-models`,
    /** 获取指定ID的LLM模型 */
    getModel: `${API_VERSION}/llm-create/models/{model_id}`,
    /** 更新指定ID的LLM模型 */
    updateModel: `${API_VERSION}/llm-create/models/{model_id}`,
    /** 删除指定ID的LLM模型 */
    deleteModel: `${API_VERSION}/llm-create/models/{model_id}`,
  },
};
